operator(/) Interface

public interface operator(/)

Module Procedures

private pure function rc_divide(x, y) result(rst)

Overloads / to divide corresponding elements of two columns. Unequal counts cause ERROR STOP with FS_ARRAY_SIZE_ERROR. Zero divisors and nonfinite values follow intrinsic division behavior.

Arguments

Type IntentOptional Attributes Name
class(real_column), intent(in) :: x

The numerator and denominator columns; unallocated storage is empty.

class(real_column), intent(in) :: y

The numerator and denominator columns; unallocated storage is empty.

Return Value type(real_column)

An independent, unnamed column of x / y, with the operands' count.

private pure function rc_divide_scalar(x, y) result(rst)

Overloads / to divide each column value by a scalar. Zero divisors and nonfinite values follow intrinsic division behavior.

Arguments

Type IntentOptional Attributes Name
class(real_column), intent(in) :: x

The numerator real_column; unallocated storage is empty.

real(kind=real64), intent(in) :: y

The scalar denominator, broadcast to every row.

Return Value type(real_column)

An independent, unnamed column of x / y, with x's count.

private pure function scalar_divide_rc(x, y) result(rst)

Overloads / to divide a scalar by each column value. Zero divisors and nonfinite values follow intrinsic division behavior.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: x

The scalar numerator, broadcast to every row.

class(real_column), intent(in) :: y

The denominator real_column; unallocated storage is empty.

Return Value type(real_column)

An independent, unnamed column of x / y, with y's count.